---
title: clsPolicyAddress
summary: API reference for clsPolicyAddress.
status: draft
owner: SAIF Claims BOF team
last_reviewed: 2026-08-21
library: SAIF.Business.View.Policy
reference_type: embedded
---

# clsPolicyAddress

`clsPolicyAddress` extends the shared `clsAddress` base (from `SAIF.Business.Utilities`) to add
policy/claim/policyholder-contact address data, contact name/phone/email, and a lazy-loaded
"Officer of Notice" lookup. It applies demo-user masking to contact fields and skips the
Officer-of-Notice database round trip entirely for demo users.

## Purpose
- Provides policy/claim/policyholder-contact address and contact information for a policy.
- Lazily loads "Officer of Notice" data on first access.
- Masks contact name, phone, email, and Officer of Notice for demo users, and skips the Officer-of-Notice query entirely for them ([BR-VP-011](../../business-rules.md#br-vp-011-demo-user-address-contact-data-masking)).

## Context
- Namespace: `SAIF.Business.View.Policy`
- Assembly/package: `SAIF.Business.View.Policy` (embedded library reference)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `ContactName` | `ReadOnly Property ContactName As String` | Contact name for the policy address; masked for demo users. |
| `ContactPhone` | `ReadOnly Property ContactPhone As String` | Contact phone for the policy address; masked for demo users. |
| `ContactEmailAddress` | `ReadOnly Property ContactEmailAddress As String` | Contact email address; masked for demo users. |
| `PolicyEmailAddress` | `ReadOnly Property PolicyEmailAddress As String` | Policy-level email address; masked for demo users. |
| `OfficerOfNotice` | `ReadOnly Property OfficerOfNotice As String` | Lazily-loaded Officer of Notice name; masked (and the underlying query skipped) for demo users. |

## Inherited public members

Members in this section are inherited from `clsAddress` in `SAIF.Business.Utilities` (an embedded
project reference within this repository, not `frameworkDensity`-tracked). No concrete,
domain-specific inherited member descriptions were available from the dependency documentation
lookup for this base class beyond generic address-formatting mechanisms; consult
`SAIF.Business.Utilities`'s own API reference (if published) for `clsAddress`'s full member list.

## Behavioral notes
- The Officer-of-Notice lookup query is skipped entirely for demo users rather than executed and then masked ([BR-VP-011](../../business-rules.md#br-vp-011-demo-user-address-contact-data-masking)).

## Constraints and usage notes
- `OfficerOfNotice` triggers a lazy database round trip on first access for non-demo users only.

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources
- `SAIF.Business.View.Policy\clsPolicyAddress.vb`
